package com.snimay.util.exception;

 
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import com.snimay.util.Status;
import com.snimay.util.ToWeb;
 

/**   
 * @Title      : GlobalExceptionHandler.java
 * @Package    : com.snimay.util.exception
 * @Description: 全局异常处理，捕获所有Controller中抛出的异常。 
 * @author     : xxy
 * @date       : 2018年4月27日 下午12:03:58
 * @version    : V1.0   
 */
@ControllerAdvice
public class GlobalExceptionHandler {
	
	/**
	 * @Description: 处理自定义的异常
	 * @author     : xxy
	 * @param e
	 * @return
	 * @throws
	 */
	@ExceptionHandler(BaseException.class)
	@ResponseBody
	public Object customHandler(BaseException e){
//		e.printStackTrace();
		return ToWeb.buildResult().status(e.getCode()).msg(e.getMessage());
	}
	
	/**
	 * @Description: 其他未处理的异常
	 * @author     : xxy
	 * @param e
	 * @return
	 * @throws
	 */
	@ExceptionHandler(Exception.class)
	@ResponseBody
	public Object exceptionHandler(Exception e){
		e.printStackTrace();
		return ToWeb.buildResult().status(Status.FAIL).msg("系统错误");
	}
}
